package com.welove.widget;






import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.GridView;

public class MyGridView extends GridView {
	
	private LayoutInflater mInflater;
	private View lifeView;
	
	public MyGridView(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
	}

	public MyGridView(Context context, AttributeSet attrs) {
		super(context, attrs);
		
		
	}

	public MyGridView(Context context) {
		super(context);
		
	}
	
	
	
	
	
//	private void init(Context context)
//	{
//		
//		mInflater=LayoutInflater.from(context);
//		headView=(LinearLayout) mInflater.inflate(R.layout.headview,null);
//		
//		
//		arrowiv=(ImageView)headView.findViewById(R.id.head_iv);
//		arrowiv.setMinimumHeight(50);
//		arrowiv.setMinimumWidth(70);
//		
//		
//		pgHead=(ProgressBar)headView.findViewById(R.id.head_pg);
//		
//		
//		tipstv=(TextView)headView.findViewById(R.id.head_tvtips);
//		lasttv=(TextView)headView.findViewById(R.id.head_tvlast);
//		
//		
//		measureView(headView);
//		
//		headContentHeight=headView.getMeasuredHeight();
//		headContentWidth=headView.getMeasuredWidth();
//		
//		
//		headView.setPadding(0,-1*headContentHeight,0,0);
//		headView.invalidate();
//		
//		
//		//addHeaderView(headView,null,false);
//
//
//		
//		
//		setOnScrollListener(this);
//		
//		animation=new RotateAnimation(0,-180,RotateAnimation.RELATIVE_TO_SELF,0.5f,
//				RotateAnimation.RELATIVE_TO_SELF,0.5f);
//		animation.setInterpolator(new LinearInterpolator());
//		animation.setDuration(250);
//		animation.setFillAfter(true);
//		
//		reverseAnimation=new RotateAnimation(-180,0,RotateAnimation.RELATIVE_TO_SELF,0.5f,
//				RotateAnimation.RELATIVE_TO_SELF,0.5f);
//		reverseAnimation.setInterpolator(new LinearInterpolator());
//		reverseAnimation.setDuration(250);
//		reverseAnimation.setFillAfter(true);
//		
//		state=Done;
//		isRefreshable=false;
//	}
//	
//	private void measureView(View child)
//	{
//		ViewGroup.LayoutParams p=child.getLayoutParams();
//		if(p==null)
//		{
//			p=new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
//					ViewGroup.LayoutParams.WRAP_CONTENT);
//			
//		}
//		int childWidthSpec=ViewGroup.getChildMeasureSpec(0, 0+0,p.width);
//		int lpHeight=p.height;
//		int childHeightSpec=p.height;
//		
//		if(lpHeight>0)
//		{
//			childHeightSpec=MeasureSpec.makeMeasureSpec(lpHeight, MeasureSpec.EXACTLY);
//			
//		}
//		else {
//			childHeightSpec=MeasureSpec.makeMeasureSpec(0,MeasureSpec.UNSPECIFIED);
//			
//		}
//		child.measure(childWidthSpec,childHeightSpec);
//		
//		
//	}
//	
//	public void setonRefreshListener(OnRefreshListener refreshListener)
//	{
//		this.refreshListener=refreshListener;
//		isRefreshable=true;
//	}
//	
//	public interface OnRefreshListener
//	{
//		public void onRefresh();
//	}
//	public void onRefreshComplete()
//	{
//		state=Done;
//		SimpleDateFormat format=new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss");
//		String date=format.format(new Date());
//		lasttv.setText("最新更新"+date);
//		changeHeaderViewByState();
//	}
//	
//	
//	private void changeHeaderViewByState()
//	{
//		switch (state) {
//		
//		
//		case RELEASE_To_REFRESH:
//			arrowiv.setVisibility(View.VISIBLE);
//			pgHead.setVisibility(View.GONE);
//			tipstv.setVisibility(View.VISIBLE);
//			lasttv.setVisibility(View.VISIBLE);
//			arrowiv.clearAnimation();
//			arrowiv.startAnimation(animation);
//			tipstv.setText("松开刷新");
//			break;
//
//		
//		case PULL_To_REFRESH:
//			pgHead.setVisibility(View.GONE);
//			tipstv.setVisibility(View.VISIBLE);
//			lasttv.setVisibility(View.VISIBLE);
//			arrowiv.clearAnimation();
//			arrowiv.setVisibility(View.VISIBLE);
//			
//			if(isBack)
//			{
//				isBack=true;
//				arrowiv.clearAnimation();
//				arrowiv.startAnimation(reverseAnimation);
//				tipstv.setText("下拉刷新");
//			}
//			else {
//				tipstv.setText("下拉刷新");
//			}
//			break;
//			
//		case REFRESHING:
//			headView.setPadding(0,0,0,0);
//			pgHead.setVisibility(View.VISIBLE);
//			arrowiv.clearAnimation();
//			arrowiv.setVisibility(View.GONE);
//			tipstv.setText("正在刷新....");
//			lasttv.setVisibility(View.VISIBLE);
//			break;
//			
//		case Done:
//			headView.setPadding(0,-1*headContentHeight, 0, 0);
//			pgHead.setVisibility(View.GONE);
//			arrowiv.clearAnimation();
//			//arrowiv.setImageResource(resId);
//			tipstv.setText("下拉刷新");
//			lasttv.setVisibility(View.VISIBLE);
//			break;
//		}
//	}
	
	
	
	
//	@Override
//	public boolean onTouchEvent(MotionEvent ev) {
//		// TODO Auto-generated method stub
//		if(isRefreshable)
//		{
//			switch (ev.getAction()) {
//			case MotionEvent.ACTION_DOWN:
//				if(firstItemIndex==0&&!isRecored)
//				{
//					isRecored=true;
//					startY=(int)ev.getY();
//				}
//				break;
//			
//			case MotionEvent.ACTION_UP:
//				if(state!=REFRESHING&&state!=LOADING)
//				{
//				
//					
//					if(state==PULL_To_REFRESH)
//					{
//						state=Done;
//						changeHeaderViewByState();
//						
//					}
//					
//					if(state==RELEASE_To_REFRESH)
//					{
//						state=REFRESHING;
//						changeHeaderViewByState();
//						onRefresh();
//					}
//					
//				}
//				isRecored=false;
//				isBack=false;
//				break;
//				
//			case MotionEvent.ACTION_MOVE:
//				int tempY = (int) ev.getY();
//				if (!isRecored && firstItemIndex == 0) 
//				{
//				
//					isRecored = true;
//					startY = tempY;
//				}
//				if (state != REFRESHING && isRecored && state != LOADING) 
//				{
//					
//					if (state == RELEASE_To_REFRESH) {
//					setSelection(0);
//					
//					if (((tempY - startY) / RATIO < headContentHeight)&& (tempY - startY) > 0) {
//					state = PULL_To_REFRESH;
//					changeHeaderViewByState();
//					
//					}
//					
//					else if (tempY - startY <= 0) 
//					{
//						state = Done;
//						changeHeaderViewByState();
//					
//					}
//					
//					else {
//					
//					}
//					}
//					
//					if (state == PULL_To_REFRESH) {
//					setSelection(0);
//					
//					if ((tempY - startY) / RATIO >= headContentHeight) {
//					state = RELEASE_To_REFRESH;
//					isBack = true;
//					changeHeaderViewByState();
//					
//					}
//					
//					else if (tempY - startY <= 0) {
//					state = Done;
//					changeHeaderViewByState();
//					
//					}
//					}
//					
//					if (state == Done) {
//					if (tempY - startY > 0) {
//					state = PULL_To_REFRESH;
//					changeHeaderViewByState();
//					}
//					}
//					
//					if (state == PULL_To_REFRESH) {
//					headView.setPadding(0, -1 * headContentHeight
//					+ (tempY - startY) / RATIO, 0, 0);
//					}
//					
//					if (state == RELEASE_To_REFRESH) {
//					headView.setPadding(0, (tempY - startY) / RATIO- headContentHeight, 0, 0);
//					}
//					}
//					break;
//
//
//			}
//		}
//		return super.onTouchEvent(ev);
//	}
//
//	private void onRefresh()
//	{
//		if(refreshListener!=null)
//		{
//			refreshListener.onRefresh();
//		}
//	}
//
//	
//	  public void setAdapter(LifeAdapter adapter) {  
//	        SimpleDateFormat format=new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss");  
//	       String date=format.format(new Date());  
//	       lasttv.setText("最近更新:" + date);  
//	       super.setAdapter(adapter);  
//	     }  
//	
	 
	
	
	

	
	protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) 
	{  
	  
		    int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);  
		    super.onMeasure(widthMeasureSpec, expandSpec);  
	   
	}

//	@Override
//	public void onScroll(AbsListView view, int firstVisibleItem,
//			int visibleItemCount, int totalItemCount) {
//		// TODO Auto-generated method stub
//		firstItemIndex=firstVisibleItem;
//	}
//
//	@Override
//	public void onScrollStateChanged(AbsListView view, int scrollState) {
//		// TODO Auto-generated method stub
//		
//	}
}
